This invention generally relates to software, and more specifically, to utilizing task flows for development of enterprise software applications.
Software applications are typically distributed among many end customers having diverse needs. As a result, the applications are designed for general use. An expert such as a software engineer is employed in order to customize the application for a specific use. Problematically, the software engineer usually lacks familiarity with the business processes of an organization to effectively modify the software. Furthermore, the expert raises an additional expense for software deployment. On the other hand, while a business manager has familiarity with the business processes, the manager likely lacks the software expertise to implement the processes.
Moreover, even when an application is hard coded to meet the needs of an organization, there is sometimes little flexibility for changes. The pages of an application are hard coded at design time with static components. By the time an application is run, the design may no longer be appropriate. In this case, the application is taken off-line to update the page design. The downtime causes a loss in productivity and additional expense from the expert.
Conventional GRC (governance, risk management, and compliance) applications are for general use, as described. In general, governance relates to creation and distribution of company policies, risk management is concerned with the risk tolerance of a company, and compliance refers to enforcement of the policies. The conventional GRC applications are ineffective as general applications due to the difference between company policies, the difference between GRC areas, and the like. Additionally, there are constant changes among GRC activities of a company.
As can be appreciated, it is desirable for an application to provide a mechanism allowing customization without expertise. The solution should decouple design time aspects from runtime aspects of designing application pages for the user interface.